﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            StudentInfo stu = new StudentInfo();
            IStudent student = new StudentInfo();

            //只能使用类的实例化名称因为Class只在类中定义
            stu.Class = "一班";
            //通过隐式实现可以使用接口实例化的名称也可以使用类的实例化名称
            stu.StudentId = 123456;
            student.StudentId = 1433223;
            //隐式实现必须使用接口实例化的名称不能通过类的对象进行访问
            student.Name = "张三";
            Console.WriteLine("班级{0}",stu.Class);
            Console.WriteLine("姓名{0}",student.Name);
            student.ConsoleStudent();
            stu.ConsoleStudent();
            Console.WriteLine();

            //接口的多态
            IAnimal dog = new Dog();
            IAnimal cat = new Cat();

            dog.AnimalName();
            dog.Yelps();
            dog.Action();

            Console.WriteLine();
            
            cat.AnimalName();
            cat.Yelps();
            cat.Action();

            Console.WriteLine();

        }
    }
}
